.chk3 {
  display: none;
}

.chk3+label {
  background-color: #fafbfa;
  padding: 9px;
  border-radius: 40px;
  display: inline-block;
  position: relative;
  margin-right: 30px;
  transition: all 0.1s ease-in;
  width: 30px;
  height: 4px;
  cursor: pointer;
}

.chk3+label:after {
  content: '';
  position: absolute;
  top: 0;
  transition: box-shadow 0.1s ease-in;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  box-shadow: inset 0 0 0 0#eee, 0 0 1px rgba(0, 0, 0, 0.4);
}

.chk3+label:before {
  content: '';
  position: absolute;
  background: #f69;
  top: 1px;
  left: 1px;
  z-index: 9999;
  width: 20px;
  transition: all 0.1s ease-in;
  height: 20px;
  border-radius: 40px;
  box-shadow: 0 3px 1px rgba(0, 0, 0, 0.05), 0 0px 1px rgba(0, 0, 0, 0.3);
}

.chk3:active+label:after {
  box-shadow: inset 0 0 0 10px #eee, 0 0 1px #eee;
}

.chk3:active+label:before {
  width: 20px;
}

.chk3:checked:active+label:before {
  width: 20px;
  left: 20px;
}

.chk3+label:active {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), inset 0px 1px 3px rgba(0, 0, 0, 0.1);
}

.chk3:checked+label:before {
  content: '';
  position: absolute;
  left: 27px;
  border-radius: 100px;
}

.chk3:checked+label:after {
  content: '';
  font-size: 1.5em;
  position: absolute;
  background: #4cda60;
  box-shadow: 0 0 1px #4cda60;
}